package com.buyingtickets.dao;

import com.buyingtickets.entity.QueryParameter;
import com.buyingtickets.entity.TrainNumber;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * @author bwj
 * @date 2021/6/24 9:09
 */
public interface TrainNumberDao {
    public List<TrainNumber> queryByDateSiteId(QueryParameter queryParameter);//通过起点站ID、终点站ID、出发日期查询：列车ID

    public TrainNumber queryByDateSiteIdTwo(TrainNumber trainNumber);//通过列车ID、出发日期：查询车次ID、列车类型、列车名字

    public TrainNumber queryById(int trainNumberId);//根据trainNumberId查询：TrainNumber信息

    /**
     * 添加列车
     *
     * @param trainid 列车id
     * @param date    发车日期
     * @param time    发车时间
     * @return
     */
    boolean addTrainNum(@Param("trainid") int trainid, @Param("date") String date, @Param("time") String time);

    /**
     * 是否存在车次
     *
     * @param trainid 列车id
     * @param date    发车日期
     * @param time    发车时间
     * @return
     */
    TrainNumber isTrainNumber(@Param("trainid") int trainid, @Param("date") String date, @Param("time") String time);

    /**
     * 分页模糊查询查询所有
     *
     * @param page
     * @param name
     * @return
     */
    List<TrainNumber> queryPage(@Param("page") int page, @Param("name") String name);

    /**
     * 查询总条数
     * @param name
     * @return
     */
    int queryAllCount(String name);

}
